package com.quanyan.pay.api.alipay.vo;

import com.quanyan.pay.entity.AlipayConfigAccount;
import com.quanyan.pay.enums.AliPayeeTypeEnum;
import com.quanyan.pay.vo.AliBaseReqVo;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * Created by Zheng.Ke
 * Date 2017/3/18.
 * 具体参见文档 https://doc.open.alipay.com/docs/api.htm?apiId=1321&docType=4
 */
public class AliFundTransToAccountTransferReqVo extends AliBaseReqVo {
    /** 商户转账唯一订单号 */
    @NotNull
    private String out_biz_no;
    /** 收款方账户类型 */
    @NotNull
    private AliPayeeTypeEnum payee_type;
    /** 收款方账户 */
    @NotNull
    private String payee_account;
    /** 转账金额(单位为元,精确到小数点后两位，最低0.1元，最高5万元) */
    @NotNull
    private BigDecimal amount;
    /** 付款方真实姓名 */
    private String payer_real_name;
    /** 付款方显示姓名 */
    private String payer_show_name;
    /** 收款方真实姓名 */
    private String payee_real_name;
    /** 转账备注(收款方可见，会展示在收款用户的账单中) */
    private String remark;
    /** 扩展参数 */
    private String ext_param;

    public AliFundTransToAccountTransferReqVo(AlipayConfigAccount alipayConfigAccount) {
        super(alipayConfigAccount);
    }

    public String getOut_biz_no() {
        return out_biz_no;
    }

    public void setOut_biz_no(String out_biz_no) {
        this.out_biz_no = out_biz_no;
    }

    public AliPayeeTypeEnum getPayee_type() {
        return payee_type;
    }

    public void setPayee_type(AliPayeeTypeEnum payee_type) {
        this.payee_type = payee_type;
    }

    public String getPayee_account() {
        return payee_account;
    }

    public void setPayee_account(String payee_account) {
        this.payee_account = payee_account;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public String getPayer_real_name() {
        return payer_real_name;
    }

    public void setPayer_real_name(String payer_real_name) {
        this.payer_real_name = payer_real_name;
    }

    public String getPayer_show_name() {
        return payer_show_name;
    }

    public void setPayer_show_name(String payer_show_name) {
        this.payer_show_name = payer_show_name;
    }

    public String getPayee_real_name() {
        return payee_real_name;
    }

    public void setPayee_real_name(String payee_real_name) {
        this.payee_real_name = payee_real_name;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getExt_param() {
        return ext_param;
    }

    public void setExt_param(String ext_param) {
        this.ext_param = ext_param;
    }
}
